﻿using System.ComponentModel;
namespace MIXer.Core.Domain
{
    public class SessionFile : INotifyPropertyChanged
    {
        #region Fields
        private string _filename;
        private string _filenameWithoutExtension;
        private string _fullname;
        private string _extension;
        private bool _isSelected;
        #endregion

        #region Events
        public event PropertyChangedEventHandler PropertyChanged;
        #endregion

        #region Methods
        private void NotifyPropertyChanged(string info)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(info));
            }
        }
        #endregion

        #region Properties
        public string FileName
        {
            get { return _filename; }
            set
            {
                _filename = value;
                NotifyPropertyChanged("FileName");
            }
        }
        public string FileNameWithoutExtension
        {
            get { return _filenameWithoutExtension; }
            set
            {
                _filenameWithoutExtension = value;
                NotifyPropertyChanged("FileNameWithoutExtension");
            }
        }
        public string FullName
        {
            get { return _fullname; }
            set
            {
                _fullname = value;
                NotifyPropertyChanged("FullName");
            }
        }
        public string Extension
        {
            get { return _extension; }
            set
            {
                _extension = value;
                NotifyPropertyChanged("Extension");
            }
        }
        public bool IsSelected
        {
            get { return _isSelected; }
            set
            {
                _isSelected = value;
                NotifyPropertyChanged("IsSelected");
            }
        }
        #endregion
    }
}
